# 字典 类似 Java中的HashMap
# 字典里面的每一个元素都是key value格式
# 定义一个字典：
# 变量名 = {"k1":"v1","k2":"v2","k3":"v3",......}
# 定义了一个包含三个元素的字典
# 查询速度非常快，无序的，key值要求唯一，key必须是不可变对象
dict1 = {"k1": "v1", "k2": "v2", "k3": "v3"}
print(dict1, type(dict1))

# 根据key去查找valule
print(dict1.get("k2"))
print(dict1.get("k1"))
print(dict1.get("k4", "如果没有找到k4，就返回我"))
# 也可以将key值作为 index 去查询value
print(dict1["k1"])
print(dict1["k2"])
print(dict1["k3"])
# 如果key不存在，会报错
# 所以为了避免错误，不推荐使用这种方法去获取value
# print(dict1["k4"])
# 传入一个数据容器，快速构建一个value值为None，key值为容器中的每个元素的字典
print(dict1.fromkeys([1, 2, 3]))
print(dict1.keys())
print(dict1.values())
print(dict1.items())

dict1.clear()
print(dict1)

list1 = [1, 2, 3]
tuple1 = (1, 2, 3)
# 不能使用可变对象作为key
# dict2 = {list1: "v1"}
dict3 = {tuple1: "v2"}
